In a data storage system, a cache memory can be arranged between a client (also referred to as a host) and a persistent storage device for storing data temporarily. Such cache memory may be referred to as a cache memory of the persistent storage device. Different from a cache included in a processor (such as a central processing unit (CPU)) for facilitating instruction execution in the CPU, the cache memory for the persistent storage device aims to improve the read/write speed of the client from/to the storage device. Specifically, the cache memory receives from an Input/Output (I/O) request for the persistent storage device from a client, and temporarily stores a copy of data that is to be written into the persistent storage device in response to the request, or reads a cached copy of data in the persistent storage device to the client. If the cache memory has stored a data copy of the client or provided the cached data copy for the client, the I/O request is considered as being successfully processed. Since the access speed of the cache memory is usually higher than the persistent storage device, it significantly improves the read/write performance of the data storage system.
Various mechanisms and threads are implemented in the conventional cache memory for processing different types of I/O requests. Factors including thread context overheads, system complexity and scalability will influence the performance of the cache memory. Therefore, there is a need to further improve the cache memory to enhance the overall performance of the cache memory and the data storage system.